const axios = require('axios');

async function testComments() {
  try {
    console.log('测试评论功能...');
    
    // 1. 登录获取token
    console.log('1. 登录获取token...');
    const loginResponse = await axios.post('http://localhost:3000/api/auth/login', {
      email: 'testcomment@example.com',
      password: 'testpass123'
    });
    
    const token = loginResponse.data.token;
    console.log('✓ 登录成功，获取到token');
    
    // 2. 获取动态列表
    console.log('2. 获取动态列表...');
    const feedsResponse = await axios.get('http://localhost:3000/api/feeds');
    console.log('✓ 动态列表:', feedsResponse.data.feeds.length, '条');
    
    if (feedsResponse.data.feeds.length === 0) {
      console.log('❌ 没有动态，无法测试评论');
      return;
    }
    
    const feedId = feedsResponse.data.feeds[0].id;
    console.log('使用动态ID:', feedId);
    
    // 3. 添加评论
    console.log('3. 添加评论...');
    const commentResponse = await axios.post(
      `http://localhost:3000/api/feeds/${feedId}/comments`,
      {
        content: '这是一条测试评论！'
      },
      {
        headers: {
          'Authorization': `Bearer ${token}`,
          'Content-Type': 'application/json'
        }
      }
    );
    
    console.log('✓ 评论添加成功:', commentResponse.data);
    
    // 4. 获取评论列表
    console.log('4. 获取评论列表...');
    const commentsResponse = await axios.get(`http://localhost:3000/api/feeds/${feedId}/comments`);
    console.log('✓ 评论列表:', commentsResponse.data);
    
    console.log('🎉 评论功能测试完成！');
    
  } catch (error) {
    console.error('❌ 测试失败:');
    if (error.response) {
      console.error('状态码:', error.response.status);
      console.error('响应数据:', error.response.data);
    } else {
      console.error('错误信息:', error.message);
    }
  }
}

console.log('开始测试...');
testComments().then(() => {
  console.log('测试脚本执行完成');
}).catch(err => {
  console.error('脚本执行失败:', err);
}); 